VERSION 5.00
Object = "{C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0"; "MSMASK32.OCX"
Begin VB.Form Form_rel_prop_com_pendencias_rep 
   Caption         =   "Propostas com pendências no representante"
   ClientHeight    =   4545
   ClientLeft      =   120
   ClientTop       =   450
   ClientWidth     =   7890
   LinkTopic       =   "Form1"
   ScaleHeight     =   4545
   ScaleWidth      =   7890
   StartUpPosition =   2  'CenterScreen
   Begin VB.Frame Frame1 
      Caption         =   "Filtros:"
      Height          =   2775
      Left            =   120
      TabIndex        =   6
      Top             =   480
      Width           =   7635
      Begin VB.TextBox txt_NumeroProposta 
         BeginProperty DataFormat 
            Type            =   1
            Format          =   "0;(0)"
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   1046
            SubFormatType   =   1
         EndProperty
         Height          =   285
         Left            =   2520
         MaxLength       =   8
         TabIndex        =   4
         Top             =   2040
         Width           =   1695
      End
      Begin VB.TextBox txt_CCRep 
         BeginProperty DataFormat 
            Type            =   1
            Format          =   "0;(0)"
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   1046
            SubFormatType   =   1
         EndProperty
         Height          =   285
         Left            =   2520
         MaxLength       =   3
         TabIndex        =   2
         Top             =   1320
         Width           =   1695
      End
      Begin VB.TextBox txt_CodRep 
         BeginProperty DataFormat 
            Type            =   1
            Format          =   "0;(0)"
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   1046
            SubFormatType   =   1
         EndProperty
         Height          =   285
         Left            =   2520
         MaxLength       =   6
         TabIndex        =   3
         Top             =   1680
         Width           =   1695
      End
      Begin MSMask.MaskEdBox msk_DataFinal 
         BeginProperty DataFormat 
            Type            =   1
            Format          =   "dd/MM/yyyy"
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   1046
            SubFormatType   =   3
         EndProperty
         Height          =   315
         Left            =   2520
         TabIndex        =   1
         Top             =   960
         Width           =   1095
         _ExtentX        =   1931
         _ExtentY        =   556
         _Version        =   393216
         MaxLength       =   10
         Mask            =   "##/##/####"
         PromptChar      =   "_"
      End
      Begin MSMask.MaskEdBox msk_DataInicial 
         BeginProperty DataFormat 
            Type            =   1
            Format          =   "dd/MM/yyyy"
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   1046
            SubFormatType   =   3
         EndProperty
         Height          =   315
         Left            =   2520
         TabIndex        =   0
         Top             =   600
         Width           =   1095
         _ExtentX        =   1931
         _ExtentY        =   556
         _Version        =   393216
         MaxLength       =   10
         Mask            =   "##/##/####"
         PromptChar      =   "_"
      End
      Begin VB.Label lbl_CentroControle 
         Height          =   195
         Left            =   4320
         TabIndex        =   15
         Top             =   1440
         Width           =   2955
      End
      Begin VB.Label lbl_NomeRepresentante 
         Height          =   195
         Left            =   4320
         TabIndex        =   14
         Top             =   1800
         Width           =   2955
      End
      Begin VB.Label lbl_NumeroProposta 
         Alignment       =   1  'Right Justify
         Caption         =   "Nº Proposta:"
         Height          =   375
         Index           =   2
         Left            =   1320
         TabIndex        =   13
         Top             =   2040
         Width           =   1095
      End
      Begin VB.Label lbl_CentroCusto 
         Alignment       =   1  'Right Justify
         Caption         =   "Centro Custo Representante:"
         Height          =   255
         Index           =   1
         Left            =   120
         TabIndex        =   12
         Top             =   1320
         Width           =   2295
      End
      Begin VB.Label lbl_dtInicio 
         Alignment       =   1  'Right Justify
         Caption         =   "Data Início:"
         Height          =   195
         Left            =   1200
         TabIndex        =   9
         Top             =   600
         Width           =   1215
      End
      Begin VB.Label lbl_dtfinal 
         Alignment       =   1  'Right Justify
         Caption         =   "Data Final:"
         Height          =   315
         Index           =   0
         Left            =   1440
         TabIndex        =   8
         Top             =   960
         Width           =   975
      End
      Begin VB.Label lbl_CodRep 
         Alignment       =   1  'Right Justify
         Caption         =   "Código do Representante:"
         Height          =   495
         Index           =   3
         Left            =   480
         TabIndex        =   7
         Top             =   1680
         Width           =   1935
      End
   End
   Begin VB.CommandButton cmd_gerar 
      Caption         =   "Gerar Planilha"
      Height          =   495
      Left            =   2520
      TabIndex        =   5
      Top             =   3360
      Width           =   2295
   End
   Begin VB.Label Label1 
      Alignment       =   2  'Center
      AutoSize        =   -1  'True
      Caption         =   "Propostas com pendências no representante"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   13.5
         Charset         =   0
         Weight          =   400
         Underline       =   -1  'True
         Italic          =   -1  'True
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   960
      TabIndex        =   11
      Top             =   0
      Width           =   5775
   End
   Begin VB.Label lbl_status 
      Alignment       =   2  'Center
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   -1  'True
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   1080
      TabIndex        =   10
      Top             =   4080
      Width           =   5055
   End
End
Attribute VB_Name = "Form_rel_prop_com_pendencias_rep"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Public Db2Conectado As Integer
Public SQL As String

'Excel
Dim Col As Integer
Dim Row As Double
Dim excel As Object
Dim Pasta As Object
Dim Planilha As Object


Private Sub Form_Load()
    CenterForm Me
End Sub

Private Sub msk_DataInicial_Validate(Cancel As Boolean)
    'Verifica a data início informada se é válida
    Cancel = ValidaDataInicio()
    msk_DataInicial.SetFocus
End Sub

'Jonas

Private Sub msk_DataFinal_Validate(Cancel As Boolean)
    'Verifica a data início informada se é válida
    If (Trim(msk_DataFinal) <> "__/__/____") Then
        Cancel = ValidaDataFinal()
        msk_DataFinal.SetFocus
    End If
End Sub

'Cleiton Bacana

Private Sub txt_CCRep_Validate(Cancel As Boolean)
    'Realiza validação do centro de controle
    If Trim(txt_CCRep) <> "" Then
        Cancel = ValidaCentroControle(txt_CCRep)
        txt_CCRep.SetFocus
    Else
        If (Trim(txt_CCRep.Text) = "") And Not lbl_CentroControle = "" Then
            lbl_CentroControle.Caption = ""
        End If
    End If
End Sub

Private Sub txt_NumeroProposta_Validate(Cancel As Boolean)
    'Realiza validação do número da proposta
    If Trim(txt_NumeroProposta) <> "" Then
        Cancel = ValidaNumeroProposta(txt_NumeroProposta)
        txt_NumeroProposta.SetFocus
    End If
End Sub

Private Sub txt_CodRep_Validate(Cancel As Boolean)
    'Realiza validação do representante informado e mostra na tela o código e nome
    
    If Trim(txt_CodRep.Text) <> "" Then
        Cancel = ValidaRepresentante(txt_CodRep.Text)
        txt_CodRep.SetFocus
    Else
        If (Trim(txt_CodRep.Text) = "") And Not lbl_NomeRepresentante = "" Then
            lbl_NomeRepresentante.Caption = ""
        End If
    End If
End Sub

Private Sub cmd_gerar_Click()
    'Gera planilha conforme filtro
    
    lbl_status.Caption = "Iniciando processamento relatório"
    DoEvents
    
    Screen.MousePointer = vbHourglass

    If (msk_DataInicial.Text = "__/__/____") Then
        m_DataInicial = ""
    Else
        m_DataInicial = msk_DataInicial.Text
    End If
    
    If (msk_DataFinal.Text = "__/__/____") Then
        m_DataFinal = ""
    Else
        Dim m_DataProximo As Date
        m_DataProximo = CDate(msk_DataFinal)
        
        'gambi pra funcionar a data fim
        'm_DataFinal = msk_DataFinal.Text
        m_DataFinal = DateAdd("d", 1, m_DataProximo)
    End If
      
    'Filtros
    Dim objPropostaPendente As New PropostaPendente
    objPropostaPendente.dataini = Trim(m_DataInicial)
    objPropostaPendente.datafim = Trim(m_DataFinal)
    objPropostaPendente.ccrep = Trim(txt_CCRep.Text)
    objPropostaPendente.codRep = Trim(txt_CodRep.Text)
    objPropostaPendente.NumProposta = Trim(txt_NumeroProposta.Text)
    
    objPropostaPendente.ProcessaRelatorio
    
    Screen.MousePointer = vbArrow
End Sub

'Teste Cleiton

Private Function ValidaDataInicio()
    If (Trim(msk_DataInicial.Text) = "__/__/____") Then
        MsgBox "Data início é obrigatório!", vbCritical
        ValidaDataInicio = True
        Exit Function
    End If
    
    If Not IsDate(msk_DataInicial.Text) Then
        MsgBox "Data início inválida!", vbCritical
        ValidaDataInicio = True
        Exit Function
    End If
    
    ValidaDataInicio = False
End Function


Private Function ValidaDataFinal() As Integer
    If Not IsDate(msk_DataFinal.Text) Then
        MsgBox "Data final inválida!", vbCritical
        ValidaDataFinal = True
        Exit Function
    End If

    If CDate(msk_DataFinal.Text) < CDate(msk_DataInicial.Text) Then
        MsgBox "Data final não pode ser menor que a data inicial!", vbCritical
        ValidaDataFinal = True
        Exit Function
    End If

    ValidaDataFinal = False
End Function

Function ValidaCentroControle(pIdCentroControle As String) As Integer
On Error GoTo consultar_centro_controle_Validate
    
    Dim objCC As New CentroControle
    objCC.LetCentroControle = pIdCentroControle
    lbl_CentroControle.Caption = objCC.GetCentroControle
        
    If (lbl_CentroControle.Caption = "") Then
        MsgBox "Centro controle informado é inválido!", vbInformation
        txt_CCRep.Text = ""
        ValidaCentroControle = True
        Exit Function
    End If
    
    ValidaCentroControle = False
    
    Exit Function
    
consultar_centro_controle_Validate:
  Screen.MousePointer = vbArrow
  msg = "Erro ao consultar o centro de controle !"
  MsgBox msg, vbCritical, "Relatório de propostas pendentes no representante."
  lbl_CentroControle.Caption = ""
End Function

Function ValidaRepresentante(pIdRepresentante As String) As Integer
On Error GoTo consultar_representante_Validate
    
    Dim objRep As New representante
    objRep.LetNomeRepresentante = pIdRepresentante
    lbl_NomeRepresentante.Caption = objRep.GetNomeRepresentante
    
    If (lbl_NomeRepresentante.Caption = "") Then
        MsgBox "Código representante inválido!", vbInformation
        txt_CodRep.Text = ""
        ValidaRepresentante = True
        Exit Function
    End If
    
    ValidaRepresentante = False
    
    Exit Function
    
consultar_representante_Validate:
  Screen.MousePointer = vbArrow
  msg = "Erro ao consultar o representante !"
  MsgBox msg, vbCritical, "Relatório de propostas pendentes no representante."
  lbl_NomeRepresentante.Caption = ""
End Function

Function ValidaNumeroProposta(pIdProposta As String) As Integer
On Error GoTo consultar_proposta_Validate
    
    Dim objPropostaPendente As New PropostaPendente
    objPropostaPendente.LetExistePropostaPendente = pIdProposta
        
    If (objPropostaPendente.GetExistePropostaPendente = False) Then
        MsgBox "Número da proposta é inválido!", vbInformation
        txt_NumeroProposta.Text = ""
        ValidaNumeroProposta = True
        Exit Function
    End If
    
    ValidaNumeroProposta = False
    
    Exit Function
    
consultar_proposta_Validate:
  Screen.MousePointer = vbArrow
  msg = "Erro ao consultar número da proposta!"
  MsgBox msg, vbCritical, "Relatório de propostas pendentes no representante."
End Function

Private Sub txt_CCRep_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
        KeyAscii = 0
    End If
End Sub

Private Sub txt_CodRep_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
        KeyAscii = 0
    End If
End Sub

'OPS

Private Sub txt_NumeroProposta_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
        KeyAscii = 0
    End If
End Sub





